// pages/answerSheet/answerSheet.js
import https from '../../utils/Newrequests'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        systemInfo: {},
        zoomNum: 1,
        imgUrl: null,
        imgData: {},
        turningFlag: true,
        verticalScreen: true,
        pageTurn: true,
        hasData: true
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        var that = this
        this.getImage(options.navId, options.id, options.role, options.examId)
        wx.getSystemInfo({
            success: (result) => {
                that.setData({ systemInfo: result })
            },
        })
    },
    async getImage(navId, id, role, examId) {
        let options = {
            url: '/analysis/score/getScanDetail',
            method: 'get',
            data: {
                examId: examId,
                studentId: id,
                subjectId: navId,
            },
            header: { "content-type": "application/json;charset=UTF-8" }
        }
        let res = await https(options)
        if (res.data.code == 200) {
            const data = res.data.data
            // 检查是否有有效的图片数据
            if (!data || (!data.frontImgPath && !data.markFrontOssPath)) {
                this.setData({
                    hasData: false,
                    imgUrl: '',
                    imgData: {}
                });
                return;
            }

            // 判断是否有反面图
            this.setData({
                pageTurn: !!(data.backImgPath && data.backImgPath.indexOf('https') > -1)
            })

            // 正面优先使用 markFrontOssPath，否则用 frontImgPath
            const frontImg = data.markFrontOssPath || data.frontImgPath
            this.setData({
                hasData: true,
                imgUrl: frontImg,
                imgData: data
            })
        } else {
            this.setData({
                hasData: false,
                imgUrl: '',
                imgData: {}
            })
            wx.showToast({
                title: res.data.msg,
                icon: 'none',
                duration: 2000
            })
        }
    },

    turningRight() {
        // 翻到背面，优先用 markBackOssPath
        const backImg = this.data.imgData.markBackOssPath || this.data.imgData.backImgPath
        this.setData({
            turningFlag: false,
            imgUrl: backImg
        })
    },
    turningLeft() {
        // 翻回正面
        const frontImg = this.data.imgData.markFrontOssPath || this.data.imgData.frontImgPath
        this.setData({
            turningFlag: true,
            imgUrl: frontImg
        })
    },

    rotateScreen() {
        //console.log('旋转！！！');
        if (this.data.verticalScreen) {
            wx.setPageOrientation({ orientation: 'landscape' })
        } else {
            wx.setPageOrientation({ orientation: 'portrait' })
        }
        this.setData({
            verticalScreen: !this.data.verticalScreen
        })
    },
    downloadImg() {
        wx.downloadFile({
            url: this.data.imgUrl, // 网络图片的 URL
            success: (res) => {
                if (res.statusCode === 200) {
                    const tempFilePath = res.tempFilePath;
                    // 下载成功后，可以调用保存图片到相册的 API
                    this.saveImageToAlbum(tempFilePath);
                }
            },
            fail: (err) => {
                //console.log('下载图片失败：', err);
            }
        });
    },
    saveImageToAlbum(tempFilePath) {
        wx.getSetting({
            success(res) {
                if (!res.authSetting['scope.writePhotosAlbum']) {
                    // 如果没有授权，则请求授权
                    wx.authorize({
                        scope: 'scope.writePhotosAlbum',
                        success() {
                            // 用户已授权，可以进行保存图片操作
                            wx.saveImageToPhotosAlbum({
                                filePath: tempFilePath,
                                success() {
                                    wx.showToast({
                                        title: '保存成功'
                                    });
                                },
                                fail() {
                                    wx.showToast({
                                        title: '保存失败',
                                        icon: 'none'
                                    });
                                }
                            });
                        },
                        fail() {
                            // 用户拒绝授权，需要引导用户去设置页面手动授权
                            wx.showModal({
                                title: '需要保存图片权限',
                                content: '请在设置中打开保存图片到相册权限',
                                success: (res) => {
                                    if (res.confirm) {
                                        // 用户点击确定，跳转到设置页面
                                        wx.openSetting({
                                            success: (res) => {
                                                // 检查是否授权
                                                if (res.authSetting['scope.writePhotosAlbum']) {
                                                    // 授权成功，可以进行保存图片操作
                                                    wx.saveImageToPhotosAlbum({
                                                        filePath: tempFilePath,
                                                        success() {
                                                            wx.showToast({
                                                                title: '保存成功'
                                                            });
                                                        }
                                                    });
                                                }
                                            }
                                        });
                                    }
                                }
                            });
                        }
                    });
                } else {
                    // 如果已经授权，则直接保存图片
                    wx.saveImageToPhotosAlbum({
                        filePath: tempFilePath,
                        success() {
                            wx.showToast({
                                title: '保存成功'
                            });
                        },
                        fail() {
                            wx.showToast({
                                title: '保存失败',
                                icon: 'none'
                            });
                        }
                    });
                }
            }
        });
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})